The current popular paradigm in software application design is to provide a separate and oftentimes different window for each application that might be executing on a computing device. When a user desires to use a particular application, they will typically open up the application which will then be presented by the computer system in the form of a window or windows that allows the user to interact with the application. For example, a word processing application (such as Microsoft Word) will typically be displayed in a window that has an area for a user to create a document or retrieve and edit a document that is already in existence. If a user wishes to read their email, then they will typically open up an email application (such as Microsoft Outlook) which will typically be displayed in another window that is separate and different from the word processing window. Now, the user has two windows to manage—a word processing window and an email window.
Traditionally, a user has managed multiple windows through the use of a task bar that is, many times, located at the bottom portion of a user display. The task bar is a very thin bar that can extend across a good portion of the user's display and includes references to applications or documents that the user is using or has used. The user can “minimize” the email window when, for example, they wish to work inside the word processing application. When the email window is minimized, a reference to the email application is placed in the task bar. If the user receives an email during the course of working in the word processing application, they can restore the email window by clicking on the reference to the email application in their task bar. This restores the email application so that the user can interact with and read their email. In the course of reading an email message, the message is likely to be presented in yet another window. If the user chooses to respond to the email message, they typically prepare their response in a “reply” window which is yet a fourth window that the user must manage.
The above-described scenario constitutes a simple example of a window management scenario when the user has opened only two applications. Consider the case where a user has multiple applications (e.g. four or more) that they are working in throughout the day. As a specific example, consider the following four exemplary applications that a user might find necessary to use during the course of their computing day: a word processing application, a presentation application (such as Microsoft Powerpoint), a web browser application (such as Microsoft Internet Explorer), and an email application.
What many users typically do is they open all of the applications and then manage each application's separate and different window as they need access to a different application. The application managing part of the screen uses what is referred to as a “windowing environment.” Yet, windowing environments are not necessarily intuitive to all potential computer users. User studies have consistently shown that one of the biggest hurdles for new users of a windowing environment is learning to understand a windowing system, where windows can “layer” on top of each other. Consider, for example, FIG. 1 which shows an exemplary user display 10 that includes four exemplary windows 12, 14, 16, 18, respectively dedicated to a word processor application, a presentation application, a web browser application, and an email application. These windows are layered on top of one another which, for a new computer user, can be a difficult concept to understand and manage. For example, some users might not understand how to use a task bar to manage the windows. They might, for example, inadvertently close an application when they simply intended to minimize it. Additionally, the users might not appreciate or understand how to move the separate windows around on their display. Further, different windows can sometimes be inadvertently clicked by a user. For example, while a user is in a window associated with one application, they may inadvertently click the edge of a window associated with another application, whereupon they find themselves in the middle of a different application. Finally, many users simply do not comprehend that their screen has multiple layers: they only think of the top window as the one that they can interact with, as if the previous ones were lost.
Windowing environments, however, do not just pose challenges to newer computer users: they can sometimes pose challenges to users who are familiar with such environments. Specifically, management of multiple windows can be distracting to computer users, particularly when a user has many different windows that they are attempting to manage. For example, if a user has many different applications that they are executing that are being managed by a task bar at the bottom of the user's display, to switch from one application to another, the user must find the appropriate task bar portion that references an application of interest. The user must then click on the task bar portion to pull up the application. This scenario can be complicated if, for example, the user has multiple documents in one application that have been minimized, e.g. multiple word processing documents or multiple email messages that they might intend to respond to during the course of their day. This complicates the scenario because now the task bar must maintain an entry for not only each of the user's applications, but each of the documents within each application that might have been minimized by the user as well. At this point, accessing the minimized applications or document is not an easy task, but rather has devolved into a trial and error hunting process. This is not an efficient way for busy users to manage their applications and documents.
Accordingly, this invention arose out of concerns associated with improving the efficiencies with which a computer user interacts with their computer.